package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为List集合
 * 数组的工具类Arrays提供了一个静态方法:asList可以将一个数组转换为一个List集合
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"one","two","three","four","five"};
        List<String> list = Arrays.asList(array);
        System.out.println("array:"+Arrays.asList(array));
        System.out.println("list:"+list);

        //数组转换来的集合,对其操作就是对原数组的操作
        list.set(2,"six");
        System.out.println("list"+list);
        System.out.println("array:"+Arrays.toString(array));
        /*
            由于数组是定长的,因此集合任何会改变元素个数的操作都是不支持的操作
            会抛出异常:java.lang.UnsupportedOperationException
                                 不支持      操作       异常
         */
        //list.add("seven");
        /*
            若需要对集合做增删操作,只能自行创建一个集合,
            然后包含数组转换而来的集合中所有元素
         */
//        List<String> list1 = new ArrayList<>();
//        list1.addAll(list);
        /*
            所有的集合都致辞一个参数为Collection的构造方法,作用是在创建集合的同时.包含
            给定集合中的所有元素
         */
        List<String> list1 = new ArrayList<>(list);
        System.out.println("list1:"+list1);
        list1.add("seven");
        System.out.println("list1:"+list1);


    }
}
